Method and system for automatic computation creativity and specifically for story generation

ABSTRACT

A computer-implemented method (and system) of automatically generating a story, includes selecting a theme of the story, examining elements of the theme and instantiating the theme, and using the theme to select and control other aspects of the story.

The present application is a Continuation Application of U.S. patentapplication Ser. No. 09/471,689, which was filed on Dec. 23, 1999.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer system, and moreparticularly to a computer system and method for generating a pluralityof artifacts in a specified language which people (e.g., humans) arelikely to find interesting.

2. Description of the Related Art

The notion of general creativity, like intelligence, is ultimately ahumanistic and subjective concept. Moreover, the notion of computationalcreativity is not bound to the same procedural attributes one mightassociate with human creativity.

Indeed, the procedural attributes of human creativity may remain largelya mystery, while the procedural attributes of computational creativitymay be well-defined. This comparison is akin to the comparison betweenthe human intelligence at work playing a game of chess and thecomputational mechanism at work in a computer that rivals the humanplayer. Both mechanisms manifest an effective performance in, whathumans consider, an intellectually demanding task. However, theprocedural attributes of the human remain largely ill-defined, while theprocedural mechanisms used by the computer may be rigorously explicatedin a formal computational language and ultimately vary significantlyfrom the human mechanism.

Therefore, the association of creativity with an agent is focused onmanifest behavior, not on implementation. One ultimately judges an agentas “creative” if it can produce an interesting artifact in some languageof expression (e.g., natural language, music, sculpture, etc.), startingfrom a point sufficiently distant from the end result.

Two key concepts in realizing a creative agent are the notions ofinterestingness and creative distance. “Interestingness” asks thequestion of: “will one find an agent's creation interesting or will onefind it an incomprehensible blob with no communicative value?”

An agent may generate voluminous works that are never assigned any valueby the agent's audience. The agent, rather than being judged creative,is considered an arbitrary generator of random artifacts. There areseveral ways to consider interestingness.

First, the agent may understand the cognitive cultural context of itsaudience well enough to invent the interesting. That is, the agent mayextend and redefine the audience's cognitive cultural awareness with anovel creation and demonstrate its value. One typically associatesgenius with such capability. Computational creativity does not addressgenius.

A second way to create interesting artifacts is to begin with a knownseed of interestingness (e.g., what is referred to as a “theme”). Forexample, it is known that particular stories about the fruits or snarlsof romantic love have human interest. Variations based on skillful useof language, plot twists. rich characterizations etc. that appeal toaudiences are considered creative and interesting, albeit perhaps shortof genius.

While the output of a generative agent may be an interestingwell-crafted story, a harmonious piece of music or a delicious recipe,the creativity of the agent is ultimately predicated on the input'screative distance from the output.

For example, if an agent for story generation requires a complete storyas an input and outputs different stories differing from the input onlyby the names of the characters, then the agent, while legitimatelygenerating a unique artifact, would not be considered creative. Indeed,the “distance” between the input and the output would be considerednegligible and insufficient. Nor would the artifact produced by theagent effect significant human interest in light of the input.

However, if a literary theme such as the “evil of betrayal” or the“destructive force of ambition” were the input to the agent, and theagent output complete stories about the indicated theme varyingaccording to characters, plot, story-structure and language, then theagent would be considered a “creative literary agent”. The artifact,while anchored to the theme, would exhibit sufficient expansion (e.g.,creative distance) relative to the input.

Any creative agent must begin with a seed of interestingness andmaintain that theme in the generation of skillful variations that aresufficiently distinct from the input. Hitherto the invention, there hasbeen no system which performed the above operations and in whichinterestingness and creative distance were even considered.

Thus, the conventional story generation system has been deficient in anumber of areas as briefly discussed above.

Regarding knowledge sources, the conventional story generation systemand method have used such sources only individually, in an unintegratedfashion. There has been no integrated, composite approach to storygeneration.

That is, the conventional methods have demonstrated analogs of lexicalknowledge, in the form of natural language lexicons and grammars.Further, compositional knowledge, in the form of story grammars havebeen demonstrated. Additionally, domain knowledge, represented in manydifferent ways from the logically formal (e.g., such as (“(X) isa(X,man)→isa(X, mortal)) ̂isa(socrates, man)→isa(socrates,mortal) to the adhoc (e.g., such as “socrates was mortal becomes he was a man.”).

However, these knowledge sources have neither been integrated andrelated to cooperative roles of an overall system architecture for storygeneration, nor of a more general architecture for computationalcreativity.

Regarding processes, the conventional story generation system and methodhas demonstrated process analogs for stage evolution, typically usingplanning and simulation techniques to generate story plots.Additionally, process analogs for structural expansion, typically usinggenerative story grammars have been developed. Lastly, natural languagegeneration has been developed.

Regarding system architectures, two basic architectures have emerged instory generation. The first architecture is based principally on plotdevelopment, whereas the second architecture is based on structuralexpansion. Both include some form of natural language generation.

An example of plot development through planning and simulation would beto provide a planning engine in which would implicitly ensure that theplot involved a character trying to achieve some goal. However, aproblem is that sometimes a character's striving for a goal is tedious.

Thus, this approach to story generation is dominated by the process ofplot expansion to produce variability in stories. However, the resultshave lacked a thematic anchor, and therefore struggled with the notionof “interestingness”. They also had no explicit knowledge component ormechanism for achieving impressionism (or in the special case of storygeneration, rhetoric). Story structure is part of an explicitarchitecture, and thus cannot be easily expressed or varied.

Further drawbacks include no representation or process for producinginterestingness, no representation or process for structure expansion,and no representation or process of identifying and exploitingimpressionistic knowledge. Impressionistic knowledge captures how anartifact might impact or impress human sensibilities through style andform, rather than explicit content. Knowledge about how the sounds ofcertain words affect the reader is considered “impressionisticknowledge”. Another example is knowledge about how different words, eventhough they may refer to the same thing, would produce differentemotional states in the reader. Describing weapons of destruction as“ordnance” produces a different impression in the reader than describingthem as “harbingers of death”. This class of knowledge may be acquiredthrough the practice and study of literature and rhetoric and/or may beacquired and inferred statistically.

Another conventional implementation approach is structural expansionthrough story grammars in which through iterative structural expansionof a story grammar provides and builds increasingly detailed outlines.However, in this approach it becomes extremely difficult to representthe complex plot and literary variations in the declarative formsrequired by story grammars.

Thus, this approach to story generation focused on generative grammarsand ignored the potential to achieve creativity and variability throughplot expansion.

Thus, hitherto the present invention, there has been no system andmethod adequate for story generation in which a creative agent couldbegin with a seed of “interestingness” and maintain that theme in thegeneration of skillful variations that are sufficiently distinct fromthe input.

SUMMARY OF THE INVENTION

In view of the foregoing and other problems, disadvantages, anddrawbacks of the conventional methods and structures, an object of thepresent invention is to provide a method and system for storygeneration.

A further object of the invention is to provide a system and method forstory generation in which a plurality of artifacts are generated in aspecified language which humans are likely to find interesting.

Yet another object is to provide a system and method for storygeneration in which the theme of the story is selected initially and thetheme is anchored for constraining subsequent choices made in generatingthe story.

Another object of the invention is to provide a system and method forstory generation in which a creative agent begins with a seed ofinterestingness and maintain that theme in the generation of skillfulvariations that are sufficiently distinct from the input.

In a first aspect of the present invention, a computer-implementedmethod (and system) of automatically generating a story, includesselecting a theme of the story, examining elements of the theme andinstantiating the theme, and using the theme to select and control otheraspects of the story.

In a second aspect of the invention, a programmable storage medium isprovided for storing a program implementing the steps of the inventivemethod.

With the unique and unobvious features of the present invention, storygeneration can take place automatically in which a plurality ofartifacts are generated in a specified language which humans are likelyto find interesting. Further, the story generation is provided by acreative agent which begins with a seed of interestingness and maintainsthat theme (e.g., anchors the theme) in the generation of skillfulvariations that are sufficiently distinct from the input.

Additionally, the present invention integrates a plurality of knowledgesources (e.g., compositional, domain, literary, etc.) relates them tocooperative roles of an overall system architecture for storygeneration.

Thus, the invention is a composite, theme-based story generation systemand method. To provide the requisite interestingness, the inventionprovides a mathematization (e.g., formal representation) of the themeindependent of plot, language, and story structure. The inventionfocuses on the theme (e.g., betrayal, the power of ambition to corruptthe soul, romantic love, etc.) as a critical aspect for providing“interestingness”, and anchors the theme regardless of plot, characters,language, story structure, etc.

By doing so, plot, setting, characters, story structure, language, etc.can be varied while keeping intact/constant the essential element (e.g.,theme) which keeps the story interesting and while making the themepermeate the entire story. As such, the theme influences all of theother aspects and processes of the story generation such as setting,characters and their properties, language, story structure, selection ofthe words, sentences, and paragraphs used in the generation of thelanguage, plot, etc. and these other aspects can be varied whilemaintaining the theme which keeps the story interesting.

Additionally, besides orchestrating a composite architecture and makingthe inventive process theme-based, thereby creating wide variability inthe other aspects of the story generation around the same theme, theinvention also allows capturing/representing literary devices andtechniques (e.g., using certain phrases, words, etc.) in order to evokecertain emotions from the reader.

Thus, for example, when generating a natural language, the system andmethod of the invention will use (and indeed will be constrained to use)certain words based on the theme selected and appropriately classifiedin a database which lead the reader to believe that the character(antagonist) is, for example, “psychologically conscious” or have someother property. Hence, only certain words might be available for usagebased on certain themes. That is, the selection of the theme willconstrain the words, phrases, etc. available for use in generating thestory. Thus, the invention will be constrained to use certain words orphrases which would lead the reader to think the charter ispsychologically conscious. Such words are preferably pre-classified, forexample, in a database for use in generating the story grammar to evokea predetermined literary response from the reader.

Unlike the conventional systems and methods which anchor the story tocharacters or plot, etc., the invention uses the theme and is capturedindependently to maintain a creative distance between the input and theoutput and to provide interestingness to the story.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other purposes, aspects and advantages will be betterunderstood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

FIG. 1 illustrates a block diagram of a composite architecture 100 forstory generation according to the present invention;

FIG. 2A illustrates the process level of the composite architecture 100and the knowledge level(s) used by the composite architecture 100according to the present invention;

FIG. 2B is another view showing the generalized form of the invention'sdifferent process steps and knowledge bases used by each step;

FIG. 2C shows the inventive process (and the accessing of respectiveknowledge bases) specialized for story generation;

FIG. 3A illustrates a flowchart of the method for story generationaccording to the present invention;

FIG. 3B illustrates a sample frame hierarchy, including some instances,for an exemplary story;

FIG. 3C illustrates the inventive system capturing the knowledge used bya story structure expansion step 308 and language generation step 307(of the process shown in FIG. 3A) in a three-level grammar hierarchy;

FIG. 4 illustrates an exemplary information handling/processor system400 for implementing the system and method of the present invention; and

FIG. 5 illustrates a programmable storage medium 500 for storing aprogram implementing the method of story generation according to thepresent invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

Referring now to the drawings, and more particularly to FIGS. 1-5, thereare shown preferred embodiments of the method and structures accordingto the present invention. It is noted that, for consistency and clarity,the same reference numerals are used in different figures to representidentical steps and/or elements.

Referring to FIG. 1, a first embodiment of an upper level system blockdiagram according to the present invention will be described below.

FIG. 1 shows a composite architecture 100 which explicitly reflects astory generation process that starts with a symbolic encoding of a themeto anchor interestingness. A theme may be selected by the system or by auser as a first process of the invention.

The instantiation of the theme performed by a thematic instantiationmodule 101 from a knowledge-base of characters and events is used toinput to a stage module 102, guide plot generation in a plot generationmodule 103 to input to a scenario module 104, perform story structureexpansion via a story structure expansion module 105 to input to a storyoutline in story outline module 106, and natural language (e.g., Englishprose) generation via language generation module 107.

The result is a quicker path to scenarios and stories 108 that conform(necessarily) to the explicitly represented theme, which is likely to beinteresting from the beginning. The idea of a composite architecturethat “covers all the bases” with differentiated and independentlyvarying components seems to have helped breathe new life into the visionof a storytelling AI.

FIG. 1 illustrates the orchestration of the inventive architecture'sdifferent components, including thematic instantiation, story expansion,and plot and language generation, all working together with differentclasses of knowledge.

FIG. 2A illustrates that the architecture of the inventive system can bedecomposed into two levels including a knowledge level 100A and aprocess level 100B. Such levels interact with and are controlled by acontroller 100C, as shown in FIG. 2A. Controller 100C controls theknowledge level, to perform the process level 100B. The controller 100Cis programmed to perform the processes of the process level whileinterfacing with the knowledge level.

The knowledge level 100A comprises the different types of knowledgerequired to generate a written story about a particular theme. Theprocess level 100A contains the processes (e.g., described briefly abovewith regard to FIG. 1) that together use the knowledge level 100 togenerate a story. The process level represents the system'scomputational approach to story generation.

Prior to further describing the knowledge and process levels, it isnoted that an exemplary implementation of the system and method of theinvention has been developed using FLEX, a multi-paradigm artificialintelligence (AI) programming system based in the programming languageProlog. It is commercially available from Logic Programming Associates,Ltd., incorporated in the United Kingdom. Obviously, other systems couldbe used including other programming languages.

Turning now in detail to the knowledge level 100A, the knowledge level100A contains representations of different types of knowledge requiredto generate the written story:

For example, the “knowledges”, typically contained in databases or thelike, include domain knowledge 100A1 (e.g., people, places, things,events, goals, behaviors, etc.), linguistic knowledge (e.g., sentences,phrases, words, parts of speech etc.) 100A2 (“paragraph and sentencegrammars” 100A5 and “lexicon” 100A6), literary knowledge (e.g. thematicdescriptions, literary structures, story grammars, etc.) included in“story grammars” 100A2, “thematic knowledge” 100A4 and “literaryconstraints” 100A3.

Generally, a story is a natural language description of objects, theirattributes, relationships, behaviors and interactions. It may or may notbe centered around any particular theme or have any particular message.A story may or may not be interesting (and, uninterestingness quicklyfollows from an absence of themes and structure). However, all storiesinclude a description of some set of objects and their interactions.

Domain knowledge (e.g., 100A1) encodes a formal representation ofobjects, attributes, relationships, goals, behaviors, and events (e.g.,a formal description of a domain). Domain knowledge is not the storyitself, but is a description of a collection of concepts about whichsome story may be written.

Domain concepts may include the fundamental elements that might composea story's settings (e.g., places, things, and their attributes andinterrelationships), its characters (e.g., people, their physical andpsychological makeup, their goals and behaviors) and the events thatoccur (e.g., steal, kill, murder, give, take, run, sign, buy, borrow,loan, kiss, etc.). Such domain concepts are formalized and stored intothe domain knowledge storage 100A1.

Hence, a story is a description of a set of objects and events. Thedescription itself is of course encoded in a natural language. A storytherefore takes the form of a sequence of words of some language strungtogether to conform to the language's grammar. While domain knowledgemay be considered a description of domain concepts, it does not qualifyas a story because, among other reasons, the description is not encodedin a natural language.

Linguistic knowledge is knowledge required to produce a natural languagedescription of domain concepts from a formal, logical representation ofdomain knowledge. Linguistic knowledge formally describes the linguisticstructure of paragraphs, sentences, phrases, and words. It categorizeswords of a lexicon as verbs, nouns, adjectives, adverbs, etc.

Literary Knowledge is also used by the invention. With but a littledomain knowledge and some linguistic knowledge, a story generationsystem can produce a story. However, the story likely will not beparticularly interesting. A weak story may look more like a laundry list(e.g., of descriptions of places, things, people, and events) thanengaging narrative. Such a story does not have a theme or a message, norwill it be told in a way that holds readers or steers them toward someintended meaning.

Literary knowledge is independent of a story's domain content orgrammatical integrity. It is knowledge of the high art of storytelling.Literary knowledge enables the compelling communication of interestinginterpretations of domain knowledge through the medium of naturallanguage.

Generally, the “Story Grammars” 100A2 and “Literary Constraints” 100A3of FIG. 2A make-up Compositional Impressionistic Knowledge (CIK)(discussed below with regard to FIG. 2B) and “Paragraph and SentenceGrammars” 100A5, “Lexicon” 100A6, and “Literary Constraints” 100A3make-up Lexical Impressionistic Knowledge (LIK) (discussed below withregard to FIG. 2B). More generally, all together they represent thecomponents of Impressionistic Knowledge.

Specifically, the inventive system encodes literary knowledge togenerate stories that can achieve key literary objectives, including 1)triggering readerly imaging, 2) project psychological consciousness, 3)engage readers in classic themes, and 4) instantiate classic storystructures.

1) and 2) are achieved through the characterization and selection ofwords, phrases, sentence, and paragraph structures in terms of theirability to trigger images and psychological-consciousness in the reader.3) is achieved through the formalization of thematic knowledge. Thisformalization is encoded as part of the literary knowledge-base in astructure referred to as a thematic relation. This relation is animplementation structure used to gather essential ingredients for astory about betrayal from a domain knowledge-base.

4) refers to the familiar flow of a story such as how it is structuredat a high-level in terms of setting, character introduction, etc. Storygrammars are what we use to represent the high-level “look-and-feel” ofstory structure. These grammars are part of the literary knowledge-base(KB).

One can view the domain knowledge-base as a pool of story elements(characters, places, things, events, etc.) that can be configured toproduce any number of stories about any number of themes.

The literary knowledge-base's thematic relation defines a particulartheme independently of any particular set of domain elements. It is usedto identify a set of elements from the domain and their interrelatedroles required to tell a story about that theme. The literary knowledgebase 100A3's story grammars are used to orchestrate the high-levelstructure of the story that determines which paragraphs to write firstand what sentence forms they contain. Literary knowledge is also used toselect the key words and phrases that best communicate the theme bytriggering readerly imaging and projecting P-consciousness. Finally,linguistic knowledge is used to configure grammatically correct Englishsentences.

Thus, as shown in FIG. 2A, the present invention utilizes many knowledgesources. For example, the invention uses Lexical Knowledge (LK). Thatis, the Language of Expression, L, is the medium in which the artifactis manifest.

For story generation, the medium is typically some natural language likeEnglish or German. Obviously, any language understandable by a human ispossible. For music generation, it would be musical notes for example.

A grammar for L (e.g., G(L)), describes syntactically valid ways ofcombining elements of L. (This is stored in “paragraph and sentencegrammars” 100A5 of FIG. 2A.)

The invention also utilizes Compositional Knowledge (CK). That is, thelanguage of Artifact Composition, C, is a language naming structuralcomponents used to assemble an artifact. For example, in storygeneration, the language of composition would include names of thingssuch as introduction, climax, conflict, setting, protagonist,antagonist, resolution, etc. In cooking, the language of compositionmight include things such as side dish, sauce, glaze, dessert, etc.

C is L-neutral (e.g., language expression neutral). For example, thesame language of composition for stories would apply regardless ofwhether L was German, English, Chinese or some other natural language(e.g., spoken language understandable by human beings).

A grammar for C (e.g., G(C)), describes valid ways of structurallycombining elements of C. For story generation, G(C) is typically calledthe “story grammar” 100A2. The story grammar is a type of outline of thestory in which the sequence of activities are presented.

As mentioned above, the present invention also utilizes Domain Knowledge(DK) 100A1, which is a representation of objects, agents, attributes,activities, events, goals, behaviors, etc. that exist in some world(e.g., real or artificial) that the elements of L are intended torepresent. In story generation, for example, domain knowledge wouldinclude a representation of characters and their behaviors, actions,objects etc. In music generation, domain knowledge may include arepresentation of instruments and their characteristics and differentways to play them (e.g., potential behaviors).

Referring to FIG. 2B, a generalized form of the invention is shown(e.g., for producing an artifact 208 as opposed to necessarily a story108 showing in FIG. 2A). Generally, the “Story Grammars” 100A2 and“Literary Constraints” 100A3 of FIG. 2A make-up CompositionalImpressionistic Knowledge (CIK) (discussed with regard to FIG. 2B) and“Paragraph and Sentence Grammars” 100A5, “Lexicon” 100A6, and “LiteraryConstraints” 100A3 make-up Lexical Impressionistic Knowledge (LIK)(discussed with regard to FIG. 2B). More generally, all together theyrepresent the components of Impressionistic Knowledge. The inventionalso utilizes Impressionistic Knowledge (IK). This knowledge is capturedin application of “literary constraints” 100A3 to “story grammars” 100A2and “paragraph and sentence grammars” 100A5. Impressionistic knowledgerepresents the effects that different language or compositional elementsof the lexical and compositional knowledge sources 201, 202 may have onthe audience. In literature, this type of knowledge is considered“rhetoric”. The usage of certain words or sets of words in theconstruction of sentences will produce different types of impressions onthe reader, ultimately affecting communicative results.

Further, the invention uses Lexical Impressionistic Knowledge (LIK) 203.LIK is a specific type of impressionistic knowledge. In terms of FIG. 2,it is stored in “paragraph and sentence grammars” and in “literaryconstraints” databases. It is realized in the artifact by theapplication of literary constraints to the expansion of the paragraphand sentence grammars. Lexical impressionistic knowledge 203 relateslexical elements and/or phrases, thereof, to their impressionisticeffects. This knowledge is used to shape the expression in L to achievedifferent impressionistic effects on the audience.

There are a variety of devices used by authors to emotionally impresstheir audience. For example, in story generation, different classes ofwords or sentence structures may be used to produce tenor or suspense inthe mind of the audience. Other devices involve selecting certainclasses of verbs to known to communicate psychological consciousness oftheir subject.

The system and method of the present invention also uses CompositionalImpressionistic Knowledge (CIK) 204. CIK is a specific type ofimpressionistic knowledge represented by the application of “literaryconstraints” 100A3 to “story grammars” 100A2. Compositionalimpressionistic knowledge relates compositional elements and/or phrasesthereof to their impressionistic effects. This knowledge is used toshape the structure of an artifact to achieve different impressionisticeffects.

For example, in story generation, a story may open with a tragic eventthat chronologically belongs at the end of the story. Such a story ordermay be for the purposes of “shocking” the audience. The shocking hook isan impressionistic effect. Its association with an alternative storystructure is part of the CIK 204.

Furthermore, as mentioned above, thematic knowledge (TK) 100A4 is usedby the invention. That is, the inventive system and method introduce theexplicit notion of a theme T and a language for expressing themes, T.The introduction of the theme assists in: 1) maintaining a certain“creative distance” between the input and output of the creative agent;and 2) focusing the agent on producing interesting artifacts. Distancebetween the input and the output is maintained by the subsequentelements of the process of story generation being anchored to (e.g.,constrained by) the theme selected. In this regard, along with therandom generator encompassed in the controller, the system can produceinteresting artifacts.

It is noted that, while each of the “knowledges” are shown as separatestorages/databases in FIGS. 2A and 2B, a single, partitioned databasemay be provided, as would be known by one of ordinary skill in the arttaking the present specification.

FIG. 2C illustrates the generalized form of the invention (e.g., of FIG.2B) having been specialized for story 108 generation. In FIG. 2B, thesteps of structural template 205, stage evolution 102A, etc. aredescribed further below with regard to FIG. 3.

Formalizing a Theme

Turning now to how to formalize a theme, thematic knowledge is acollection of themes. Composing particular themes in T (e.g., in naturallanguage) is the job of the human. The creation of interesting themes isoutside the scope of the present invention.

A thematic expression in T may be expressed in a syntactic structure ofa formal language, like first-order logic or FLEX. A theme is theprimary input to a creative agent of the inventive system. The theme maybe input by the controller 100C accessing the thematic knowledge 100A4and selecting a theme (e.g., betrayal, etc.), or by the user selecting atheme. The following is an example representation of “Betrayal” in thelanguage FLEX.

-   -   betray(Betrayor, Betrayed)    -   Evil is some goal whose plan is an EvilPlan    -   and whose agent is a Betrayor    -   and Saying is included in the Evilplan    -   and Saying is some say    -   and Thwarting is included in the EvilPlan    -   and Thwarting is some thwart    -   and Betrayeds_Goal is the prevented goal of Thwarting    -   and Betrayors_Lie is the theme of the Saying    -   and Betrayors_lie is some support of the Betrayeds_Goal    -   and Betrayed is some person    -   whose goal is the Betrayeds_Goal    -   and whose beliefs include the Betrayers_Lie.        The symbols beginning with a capital letter are variables. The        system of this invention will search for and produce appropriate        values for those variables as part of the story generation        process.

Other elements of this FLEX representation refer to primitive structuressupplied in the thematic knowledge-base (e.g., “lie”, “thwart”, “plan”).These elements are thematic building blocks includes as part of thisinvention. The input command is a simple selection. Choosing from amultiple choices of pre-defined themes stored in the knowledge-base. Itis simplistic. The casual user, however, does not define the theme.Someone capable of representing knowledge in first-order logic or inFLEX for example (both well-defined formal systems accessible to anylogician or engineer) would be capable of creating the requisiterepresentation for a theme using elements from the thematic knowledgebase only. These elements would include, in the example of “betrayal”predicates like “betrayer”, “betrayed”, “evil goal”, “betrayer'sobjective”, etc. These elements would be combined in a formal expressionto create the theme's “input” representation (i.e., the representationstored in the knowledge base). Once stored, the user might select it,among others, by some name (arbitrarily selected by the person whocreated the theme's formal or “input” representation”.

It is noted that it is possible to design and implement a system thatwould allow a casual user to compose a theme's formal representationfrom constituent elements, stored in the thematic knowledge-base,without prior knowledge of the formal language. This, however, is notpart of the current invention.

A theme is independent of the language of expression, the language ofcomposition, domain knowledge and impressionistic knowledge. Theelements composing the representation of the theme are drawn fromthematic knowledge only. They are independent of the other classes ofknowledge and they are independent of the mechanisms that result in thestory's plot, language, style and structure.

Such independence is an important aspect of the present invention. Itensures the “creative distance” between the input and the output byconstraining the process choices made subsequently. The selection oreven construction of the input theme may be accomplished without accessor prior knowledge of the classes of story generation knowledge orprocess. Based on the theme alone, the story will make selections toproduce a variety of stories about the selected theme.

While large and varied knowledge sources will lead to varied,well-structured artifacts, the theme anchors the creative agent toproducing “interesting” artifacts where interesting is ultimatelydefined subjectively by the human composing the theme. The themeperforms such anchoring by constraining subsequent choices made by thecontroller 100C/random generator in the plot, characters, dialogue,setting, literary structure, etc.

Process of the Invention

Turning now to FIG. 3A, the story generation method/process 300 of theinvention will be described hereinbelow. It is noted that whiledifferent reference numerals are shown in FIG. 3A than in FIG. 1 andFIG. 2, the method of the invention shown in FIG. 3A is substantiallythe same as that shown in the composite architecture 100 shown in FIG. 1and the process level of FIG. 2.

In the inventive system, the story generation process 300 is decomposedinto four high-level processes including thematic concept instantiation,plot generation, story structure expansion, and language generation.Each process uses knowledge represented as part of the knowledge leveland stored in the inventive system's knowledge-base.

First, in step 301, a theme is selected by either the system(controller) or by a user from the thematic knowledge.

Then, based on the theme selected, the theme is instantiated in thethematic instantiation step 302. Thematic concept instantiation beginswith a description of a theme. This description is independent ofspecific objects or events that might appear in a particular domainknowledge-base. Given a specific domain KB (e.g., reference numeral100A1), the theme is instantiated, which serves to identify particularobjects, events, characters, etc. from that KB to play the general rolesrequired to realize the theme. The result of this process (e.g., step302) is called a “stage” 303.

The stage 303 is input to a plot generation step 304. Plot generation304, through planning and simulation, weaves the details of a specificplot for the cast of characters identified in the stage 303. Plotgeneration 304 completes what is called a scenario 305. The scenario 305is the stage plus a completed set of events and the effects these eventshad on the state of world.

Story structure expansion 308 is the root of a separate process threadin the inventive system. A high-level story structure, represented inthe inventive system as a story grammar, may be input or randomlyselected. As already noted, story grammars describe how a story isorganized with respect to introduction, character descriptions,conflict, resolution, conclusions, and so on. Story structures in theinventive system, are preferably independent of plot and theme.

The story expansion step 308 recursively expands structural componentsof a story represented in the story grammar until a series of paragraphtypes are reached. (It is noted that expanding a formal grammar toproduce “grammatical” expressions of that grammar is well within thegrasp of one ordinarily skilled in the art). Paragraph types are furtherexpanded into a series of sentence types. The story expansion step 308is performed in parallel to the steps 301-305 described above.

The result is a detailed story template (e.g., reference numeral 205 inFIG. 2C), or story outline 306, that may be entirely independent ofstory content. Literary constraints (e.g., from literary constraintsknowledge 100A3 shown in FIG. 2) may be used to influence otherwiserandom choices in the generation of a story outline. It is through theseconstraints that decisions regarding theme or plot may carry over toachieve congruent influence over story structure.

The scenario 305 developed in plot generation step 304, along with theoutline 306 produced in the story structure expansion 308, are input tothe final process (e.g., language generation step 307). In this process,linguistic and literary knowledge are used to produce the written story310.

Implementation of the Invention

In an exemplary implementation and as mentioned above, the inventivesystem was implemented using a variety of knowledge representation andprogramming techniques available in the logic-programming system calledFLEX, originally developed by Logic Programming Associates (LPA), Ltd.FLEX is based in Prolog, a logic-programming language based on a generalcomputational method that starts with a goal statement and searches adatabase of facts to find a proof for the goal. This method models aform of reasoning often referred to as “goal-directed reasoning.” Anin-depth treatment of Prolog can be found in Sterling et al., The Art ofProlog (Cambridge, Mass., MIT Press (1986)) and R. O'Keefe, The Craft ofProlog, (Cambridge, Mass.; MIT Press (1990)). The genealogy of logicprogramming is well-documented in J. A. Robinson, “Logic and LogicProgramming”, Communications of the ACM, Vol. 35:3, pages 40-65 (1992).The present inventors have also written on Prolog's genealogy, and itspower in Bringsjord, S., and Ferrucci, D. “Logic and ArtificialIntelligence: Divorce, Separated, Still Married . . . ?” Minds andMachines, Vol. 8; pages 273-308 (1998).

FLEX provides the developer with complete access to Prolog and enhancesthe paradigm with frame-based structures, relations, production rules,and an English-like syntax. The syntax and semantics of FLEX arewell-documented in Vasey, P., LPA-flex Technical Reference (London,England; Logic Programming Associates Ltd. (1989).

FLEX's frames allow the developer to group sets of facts around aspecific domain entity, enabling a more intuitive structuring of theknowledge. A frame is used to represent a domain entity, and itsattributes are used to represent facts or properties about that entity.From a programmer's perspective, frames are data structures that have aname and a set of attributes with default values. Frames can beorganized in a generalization hierarchy via the relationship

is-a. Attributes and default values are inherited from a parent in theframe hierarchy to its children. Instances are special kinds of framesthat have actual values rather than default values. Instances are leavesin the frame generalization hierarchy. A sample frame hierarchy,including some instances, for an exemplary story, is illustrated in FIG.3B.

A portion of a sample frame intended to represent the prototypicalperson, is shown below. Specific people would be represented asinstances with specific values that might override the default valuesinherited from the person frame. The value for an attribute in a framecan be a list of things. Lists are represented by { }s.

-   -   frame person is an agent    -   default height is 5_(—)5 and    -   default weight is 130 and    -   default gender is female and    -   default eye_color is brown and    -   default goals are {eat, sleep} and    -   default beliefs are {“computers write interesting stories”}

Relations in FLEX are used to define abstract properties about a frameor a sets of interrelated frames. Relations are processed by Prolog'sgoal-directed reasoning mechanism to find the specific frames and theirelements that satisfy the relation.

For example, a relation may be developed to find all frames in aknowledge-base that contain the necessary features to play the role ofthe betrayed in a story about betrayal. The following FLEX relation(e.g., noted above and repeated here for ease of understanding) capturesthe abstract relationships between various persons, goals, plans andactions sufficient for the inventive system to identify the componentsof a simple story about betrayal.

-   -   relation betrayal_p    -   if Evil is some goal whose plan is an EvilPlan        -   and whose agent is a Betrayor    -   and Saying is included in the Evilplan    -   and Saying is some say    -   and Thwarting is included in the EvilPlan    -   and Thwarting is some thwart    -   and Betrayeds_Goal is the prevented_goal of Thwarting    -   and Betrayors_Lie is the theme of the Saying    -   and Betrayors_lie is some support of the Betrayeds_Goal        -   and Betrayed is some person        -   whose goal is the Betrayeds_Goal        -   and whose beliefs include the Betrayers_Lie.

The above relation is actual (exemplary) code. Strings starting with anuppercase letter are logic variables. The strings say and thwart referto types of actions defined in the domain knowledge-base. Goals agents,and plans are also concepts defined in the domain RB. The English-likesyntax of this relation is translated by the system into standard Prologprograms. These programs drive a goal-directed search through theknowledge-base and assign the logic variables to specific domainconcepts.

Production rules or condition-action rules have a condition and anaction. If the condition is met, the actions are executed. These rulesare processed in FLEX by a forward reasoning engine. They are used inthe inventive system to represent the reactive behavior of agents. Theforward reasoning engine is exploited in the inventive system to providea computational facility for simulation that runs in the course of plotgeneration. A set of production rules is input to the forward reasoningengine. All conditions are checked, and rules whose conditions aresatisfied are “fired” (e.g., their actions are executed). The result ofthe actions may change the state of the KB, potentially causing otherrules to fire. The process continues until all rules have been processed(some may fire and some may not). If no rules fire, then no rules wereintended to fire. The wording “fail to fire” is intended to mean therule did not fire because it was not supposed to given the current stateof the knowledge-bases. There is not real “failure” of any kind. FLEXprovides a variety of control features for specifying the order in whichrules should fire and for resolving conflicts if more than one rule canfire at a time.

The Knowledge Level

Turning now in detail to the knowledge level, as mentioned above, domainknowledge 100A1 (in FIGS. 2A and 2B, with specialized domain knowledge100A1′ being shown in FIG. 2C) includes a static description of theworld, or domain, about which a story is written. Domain knowledgeincludes descriptions of people, places, things, events, actions, goals,and behaviors. These descriptions are represented in the inventivesystem as FLEX frames.

Thus, for example, agents perform actions and participate in events. Instories about people, people are obviously an important class of agents.People are represented as agents with physical and psychologicalattributes. In addition to the typical physical attributes like height,weight, and eye color, a person's attributes include a set of goals anda set of beliefs. The latter set is an important element in plotgeneration, as would be evident to one of ordinary skill in the art.

Consider frame excerpts describing the characters Striver, a doctoralstudent/candidate at the University of Rome, and Professor Hart,Striver's mentor and one of three reviewing members of Striver'sdoctoral thesis, and who has intimated to Hart that Hart's thesis shouldpass any opposition. It is in part through the actions associated withcharacters' goals that a plot is developed from a stage. Hart's evilGoalrefers to a goal that includes actions intended to prevent Striver fromachieving his goal. The interplay of these various intentions isintegral to the betrayal theme.

-   -   instance hart is a person    -   name is ‘Hart’ and    -   gender is male and    -   goals is {evilGoal}.    -   instance striver is a person and    -   name is ‘Dave Striver’ and    -   gender is male and    -   goals is {to_graduate} and    -   beliefs is {harts_promise}.

Events are concepts that relate people, places, and things. In theinventive system, the focus is on the specific event attributes requiredto facilitate representation of key story elements.

Hart and Striver are described as people with physical and psychologicalattributes. They are interrelated in the domain KB 100A1 through theirroles in common events. For example, Striver's thesis defense is athesis defense, which is a type of event, where Striver is the examinedand Hart is a member of the examining committee. Among other attributes,the examined and the committee are the key elements of this event, whichlink Striver and Hart.

-   -   instance strivers_defense is a thesis_defense    -   thesis is strivers_thesis and    -   where is university_of_rome and    -   examined is striver and    -   committee is {hart,meter,rodgers,walken} and    -   status is scheduled.

The set of beliefs associated with a person describes in part what thatperson believes is true about the world. However, that which a personbelieves need not be true In the inventive system, a person, by default,is assumed to believe all that is true about the physical state of theworld as represented in the domain KB (e.g., hereinafter simply “theworld”). This excludes knowledge about other people's psychologicalattributes or beliefs. A person is not assumed to have knowledge aboutother people's beliefs, goals, or behavior patterns, unless otherwiseexplicitly stated.

For example, if Hart states publicly that he supports Striver's success,then Striver, by default, believes this statement was made. However, thesystem does not conclude by default that Striver believes that Hart istelling the truth (or is lying). Statements about another person'sbeliefs are explicitly inferred in the inventive system. Explicit beliefstatements are included by the designer of the knowledge-base or may beinferred as the result of a rule.

Consider Striver's belief about Hart's promise to help Striver andsupport his thesis defense. A promise is a type of statement. Anexemplary frame representing Hart's promise follows.

-   -   instance harts_promiae is a promise    -   agent is ‘Prof. Hart’ and    -   utterance is ‘I will sign your thesis at your defense.’ and    -   promised is ‘Dave Striver’ and    -   intended_state is signatures of striver_thesis include ‘Prof.        Hart’.

The intended_state associated with a promise describes some aspect ofthe state of the world that would be true if the promise were kept. Thefollowing exemplary frame demonstrates the representation of Striver'sbelief about the truth of Hart's promise:

-   -   instance striver is a person    -   name is ‘Dave Striver’ and    -   gender is male and    -   goals is {to_graduate} and    -   beliefs is {harts_promise}.

In the exemplary implementation, persons may also believe statementsthat contradict the current state of the world. For the person with thefalse belief, these contradictory statements override that actual stateof the world. Contradictory or false beliefs must be stated explicitlyin the list of beliefs associated with a specific person. For example,if the saying of harts promise, represented by the following framesay101,

-   -   instance say101 is a say    -   agent is ‘Prof. Hart’ and    -   statement is harts_promise.        existed in the domain knowledge-base and Striver did not believe        that Professor Hart made the promise (i.e., that Hart uttered        the statement), then Striver's beliefs must contain an explicit        negative belief. The following frame represents that Striver        does not believe that say101 occurred.    -   instance striver is a person    -   name is ‘Dave Striver’ and    -   gender is male and    -   goals is to_graduate and    -   beliefs is {not(say101)}.

Goals, plans, and actions are used to represent a character's proactivebehavior. Once a character is set in motion, the character attempts toachieve its goal by executing the actions associated with the goal'splan. Each action has preconditions and state-operations. Thepre-conditions ensure that the setting is right to execute the action;the state-operations attempt to change the state of the domain. If, forsome reason, a state-operation fails to execute, then the action fails.

If all the elements of a plan succeed, then the goal is successfullycompleted by the corresponding agent. Goals, plans, and actions areconsidered part of the proactive behavioral model because they areinitiated by the character as part of his or her explicit intentions.

A goal is a concept that has three main attributes of: 1) Agent: someoneor something that can achieve the goal, typically a person; 2) Plan: alist of actions; and 3) Success state: a condition that if true wouldindicate that the goal has been satisfied.

For example, Hart may have the goal to destroy Striver's hope tograduate. To achieve this goal, there would be an exemplary sequence ofactions that the agent, Hart, must execute. This sequence is the “plan”.It may include, for example, conveying to the examining committee thatStriver's ideas are worthless by refusing to sign his thesis. Hart mayexecute all elements of the plan, but there is no guarantee that hisgoal will succeed. A goal's success state is a condition which if trueof some elements of the domain, indicates that the goal has beenachieved (e.g., the agent has succeeded). In this case, a success statemay be the failure of Striver's thesis defense.

The following frame represents Hart's goal to thwart Striver's goal tograduate.

-   -   instance evilGoal is a goal    -   agent is hart and    -   plan is {lie101, refuse_to_sign101} and    -   success is status of strivers_defense is failed.

lie101 and refuse_to_sign101 are specific actions that will executeduring the plot generation step 304 on Hart's behalf when theirpreconditions are met.

Reactive behavior describes how a character reacts to changes or eventsin the world. Reactive behavior is represented by a set ofcondition-action rules (or production rules) associated with agents. Ifthe condition is met, then the actions are executed.

With reactive rules, the inventive system allows character behavior tobe described in terms of how a character may respond to different eventsindependently of the character's specific goals. Reactive behavioralknowledge is ideal for describing basic elements of a character'sdefault behavior independently of specific roles in a theme. It providesa representation mechanism for capturing particular behavioraldimensions that “trademark” a character.

Rules associated with a character's behavior may be as specific or asgeneral as the knowledge-base designer feels is appropriate For example,Professor Hart might have specific behavior rules that describe exactlyhow he may react to a given state. Alternatively, without a specificrule, Professor Hart might react according to a default behavioral ruleassociated with all persons.

Reactive behavior in the inventive system functions both to increase thevariability of a plot's outcome during simulation and to producedialogue.

The inventive system combines proactive and reactive behavior insimulation in order to vary plot generation while still maintaining atheme-driven focus. The thematic frame sets key characters in motion bytriggering their proactive behavior. Effects may, in turn, trigger thereactive behavior of other characters who can twist the plot by helpingor hurting a character's proactive agenda.

The following production rule describes the typical reactive behaviorof, for example, a member of a thesis committee. In summary, this rulestates that if a member of a thesis committee is asked by the chair ofthe committee to sign the candidate's thesis, the member reacts bysigning the thesis.

-   -   rule committee_members_behavior    -   IF    -   Candidate is some person and    -   Thesis is the thesis of Candidate and    -   the committee of the Candidate includes Member and    -   Request_To_Sign is some request and    -   Member is the requestee of Request_To_Sign and    -   the requester of Request_To_Sign is the chairman of the        committee and    -   Thesis is the document of subject of Request_To_Sign and    -   status of Request_To_Sign is pending    -   Then    -   do answer(Member, Request_To_Sign) and    -   do sign(Member, Thesis).

Proactive behavior, by default, overrides reactive behavior. In theabove-mentioned exemplary story of betrayal, for example, Professor Hartintends to thwart Striver's goal to graduate, by refusing to sign histhesis. Professor Hart does not react like a typical committee member.His proactive refusal to sign Striver's thesis must override (e.g.,constrain) the reactive behavior imposed by the production rulepreviously described.

Such is accomplished in the inventive system by ensuring that allactions associated with plans are given a chance to execute in responseto changes in the knowledge-base before production rules are fired inresponse to the same changes. In the exemplary case, the fact thatProfessor Hart refused to sign the thesis would occur first, ensuringthat the reactive rule would not execute for him, since the requestdirected to Professor Hart would no longer be pending when the reactiverule fired.

By changing behavioral rules and/or actions, and activating differentsets of rules, the simulation process will unfold different plots aboutthe same theme and the same stage. For example, varying Professor Hart'sreaction to pressure from the chairman to sign the thesis can result ina happy or sad ending for the candidate, Dave Striver. While the storyis still about betrayal, the difference revolves around whether or notthe betrayer succeeds in the quest to thwart the betrayed's goals.

While domain knowledge, the thematic relation, and the results ofsimulation determine what the inventive system will write about, how theinventive system will express the story is determined by linguistic andliterary knowledge.

As described above, linguistic knowledge is knowledge about naturallanguage. The written story is formed from “legal” expressions in anatural language. For example, in the inventive system, the naturallanguage may be English, German, etc.

Linguistic knowledge is explicated through observations of how humansexpress internal knowledge in distinct language structures. Linguistictheory describes language structures at a number of different levels.These levels include: 1) Discourse; 2) Paragraph; 3) Sentence; 4)Phrase; and 5) Word.

The discourse level may be viewed as the most aggregate level, and iscomposed by configuring elements from the paragraph level. The paragraphlevel, in turn, is composed by configuring elements from the sentencelevel, and so on.

Words are defined as the smallest independent units that can be assigneddescriptive meaning. However, words can be further decomposed into setsof letters that act as prefixes, roots, and suffixes. These can becombined to form different words. The study of how these combinationsoccur is termed “word formation morphology”. The morphology of words maybe influenced by semantic properties relating to number, gender, case,tense, etc. The study of the forms of words as they relate to theseproperties is termed “derivational morphology”. Finally, words may takeon different forms based on agreement with the forms of other wordswhich occur simultaneously in a phrase. For example, the number of anoun influences the form of the verb in a noun phrase. The study of thetypes of agreement and how they influence the form of words is termed“inflectional morphology”.

Encoded in the linguistic knowledge-base are a lexicon containing a setof words and the morphological rules necessary to demonstrate storygeneration examples. R. C. Dougherty, Natural Language Computing: AnEnglish Generative Grammar in Prolog (Lawrence Erlbaum Associates;Mahwah, N.J. (1994) provides details on encoding morphological rules.

In general, a sentence in a natural language, L, is a string of wordstaken from a fixed list of words that constitute L's lexicon. A naturallanguage grammar for L is a device that distinguishes the grammaticalfrom the ungrammatical sequences of words. This defines the valid (i.e.,grammatically correct) sentences of L. For a treatment of formalgrammars for a subset of English, and their use in mechanizedcommunication, the present inventors refer to S. Russell et al.Artificial Intelligence: A Modern Approach (Prentice-Hall, EnglewoodCliffs, N.J. (1995).

The inventive system encodes (e.g., via the controller and itsinterfaces with the “Story Grammars” knowledge base 100A2 and itsinterfaces with the story expansion and other process steps of theinvention), as Prolog goals, a variety of sentence-level grammars, whichinclude phrase-level grammars, for generating grammatically correctsentences. These generative grammars presuppose lower level linguisticprocedures to ensure, among other things, verb/subject agreement,punctuation, etc.

Sentence grammars are categorized in the inventive system to representclasses of sentences that have a particular structure. These sentencesvary around pivotal elements. Inventive system uses numerous sentencegrammars. Some examples include sentence types designed to describe asetting, to describe a character, to reveal a character's goals, tonarrate different classes of events, etc. Variations can result in thegeneration of a negative or positive tone, or the selection of words toproduce different classes of imagery.

As an example, a sentence grammar for producing a sentence type calledan “independent parallel setting description” is illustrated below:

-   -   INDPSD→SETTING verb FP    -   FP→“its” FEATURE FP ‘its’ FEATURE    -   SETTING→noun_phrase    -   FEATURE→noun_phrase

In sentence grammars, uppercase words in the grammar are non-terminals.Words in quotes are literals used exactly as is in a generated sentence.Lowercase words are terminals in the sentence grammar. The terminals arephrase- or word-types that are selected and/or constructed from theavailable lexicon when a sentence is generated. Sentence generationprocedures use sentence grammars to produce individual sentence thatconform to the grammar. Typically, certain elements are fixed in theapplication of a sentence generation procedure. Inventive systemsupports different generation procedures for the same grammar. Ageneration procedure pivots around the elements which it allows to befixed. For example, a procedure that pivots on SETTING will generate allpossible sentences that can be built from the lexicon where SETTING isfixed to a particular noun. Other sentence generators for a givengrammar may pivot on more than one element.

An example of an independent parallel setting description sentence whereSETTING is fixed to the noun university is as follows:

-   -   The university has its ancient and sturdy brick, its        sun-splashed greens, and its eager youth.

Thus, a noun that is a setting is chosen, and some possessive verb isused to link the setting to a list of feature phrases that describe aset of objects considered characteristic of the setting.

For sentences of the above form to have literary effect, elements of thesentence preferably are somehow associated with literary knowledge. Asdescribed below with regard to linking literary and linguisticknowledge, augmented grammars that enhance linguistic structures withliterary objectives are described.

A description at the discourse level in the inventive system is realizedby a structure called the “story grammar” described above. As mentionedabove, such a grammar describes, at a high level, how the story will belaid out in terms of paragraphs that describe the setting, characters,and events that make up the story. The stories generated can be viewedas literary concepts as opposed to linguistic concepts, since they areultimately language-independent. Indeed, the same story grammar can beused to both lay out the frames in a silent movie and generate a writtenstory.

While the linguistic knowledge-base identifies types of words, phrases,and sentences as they function in the English grammar, as mentionedabove, literary knowledge describes different ways to use words andphrases together to achieve a variety of literary objectives.

Literary objectives may include generating imagery in the reader's mind,suggesting a character's landscape of consciousness, and producing apositive, secure mood, or a negative, anxious one for the reader.Literary objectives like these may be achieved by selecting appropriatewords and sentence structure combinations. Literary concepts, found inthe inventive system's literary knowledge-base, define attributes oflinguistic concepts as they relate to domain concepts so that textgeneration procedures can produce expressions that achieve literaryobjectives.

Objects described in the domain knowledge-base are interrelated andlinked to linguistic concepts (e.g., words, phrases, etc.) as one way ofcapturing literary knowledge. The resulting associations betweenconcepts and language elements are called “literary associations”. Theyare used to generate sentences that satisfy specific literaryobjectives.

The inventive system includes a plurality of types of literaryassociations including: 1) Iconic features; 2) Literary modifiers; and3) Literary analogs.

For example, objects are related to other objects in the inventivesystem via an attribute called “iconic features”. An object's iconicfeatures are represented as a list of other objects that are typicallyassociated with the first object in literary settings. For example, ivyand clocktowers might be iconic features of a university (as in theexemplary story mentioned above). Wheels, engines, and speed might beiconic features of a motorcycle. The list of iconic features associatedwith an object is further specialized with respect to general notions ofpositive or negative imagery. This classification is highly subjectiveand may vary with respect to context. However, it can be very effectivefor imaging.

Consider the following frame fragment describing a university.

frame university is a object

-   -   defalt positive_iconic_features is        -   {clocktowers. brick. ivy, youth, architecture, books,            knowledge. scholar, sports) and    -   default negative_iconic_features is        -   {tests, competition, ‘intellectual snobbery’}.

In this frame, ivy is listed as a positive iconic feature of auniversity, while tests is listed as a negative one. Though thesubjectivity of these classifications is apparent, the representationalframework allows for capturing and configuring a variety of literarydescriptions.

Additionally, there are positive and negative literary modifiers. Thatis, the concept of literary modifiers is an association betweenmodifiers and the objects that they typically modify. In the inventivesystem, these associations are grouped into positive and negativeclasses. The associations are linked to the frames representing themodified objects with the attributes

positive_literary_modifiers and

negative_literary_modifiers.

As is the case with iconic features, the negative and positiveclassification of literary modifiers is entirely subjective, butnonetheless this classification is profitably configurable in theliterary KB. For example, given the frame for university and thefollowing frame fragment for ivy

-   -   frame ivy is an object    -   default positive_iconic_features is {leaves. vines) and    -   default negative_iconic_featurs is {poison} and    -   default negative_literary-modifiers is {poisonous tangled} and    -   default positive_literary_modifiers is {spreading. green, lush}.        a text generation procedure for independent parallel setting        description sentences can produce positive imagistic sentences        such as:    -   The university has its lush, green ivy.        If the knowledge-base were reconfigured and ivy was also listed        as a negative iconic feature of university, then the following        negative imagistic sentence can be exemplarily produced:    -   The university is full of tangled poison ivy.

Sentence generation in the inventive system are parameterized and can becalled to produce negative or positive phrases.

Literary Analogs Metaphors are used in order to support sentence typesin the inventive system. These literary devices are supported by anunderlying representation structure called “literary analogs”. Aliterary analog identifies a single main object, another object calledthe “analog” that is used to represent the main object in a literaryfashion, and the intended imagery suggested by the analog.

The following frame is an instance of an analog for the main object eyeand one of its analogs, the sun.

-   -   instance analog1 is a literary_analog    -   object is eye    -   analogs are sun    -   images are {warmth. power trust}.

To the extent that sentence grammars capture the grammatical rules of anatural language, they are considered linguistic concepts. However, inthe inventive system, these structures are augmented to contain elementsthat reflect the linkages between literary objectives and grammaticalstructure.

Literary augmented grammars (LAGs) are used in the inventive system torepresent and use literary knowledge to produce compelling andinteresting prose. Consider the following LAG for independent paralleldescription sentences:

INDPSD→SETTING verb (isa possessive_verb) FP (n=3)

FP→‘its’ FEATURE FP ‘its’ FEATURE

SETTING noun_phrase (has role setting)

FEATURE noun_phrase (isa iconic_feature_of SETTING)

Elements on the rightside of the LAG rules are annotated withexpressions in parentheses. These expressions are called “literaryconstraints”. It is through literary constraints 100A3 that linguisticand literary knowledge interact. While sentence grammars drive theconstruction of classes of grammatically correct sentences in a naturallanguage, literary constraints in LAGs are designed to shape thecontents of the sentence by using literary and domain knowledge toachieve various literary objectives.

Sentence generation procedures limit the instantiation of terminals towords or phrases that satisfy the literary constraint. The constraintsdescribe the literary roles that the elements of the sentence mustassume independently and/or with respect to one another. Constraintprocessing relies on how words (and their associated objects) areclassified and linked in the literary knowledge-base. The constraintsare used to search the literary and linguistic Knowledge Bases, wherenouns, modifiers, verbs, etc. are categorized and associated with oneanother by a variety of classifications and associations. For example,brick, greens, and youth are nouns classified as iconic features of auniversity.

The constraint

(isa possessive_verb)

in the preceding grammar constrains the preceding terminal, verb, to beinstantiated from a certain class of verbs, namely, possessive verbs.Membership in this class is captured in the knowledge-base.

Similarly, (has role setting) constrains the selection for the terminalnoun_phrase in the SETTING rule of this grammar to be instantiated by anoun phase whose subject can function as a setting according to theclassifications contained in the literary knowledge-base. The constraintisa feature_of SETTING is used to narrow the selections for a nounphrase based on its relationship with a choice for SETTING. In thiscase, the constraint ensures that the noun in

the associated noun phrase is represented as an iconic feature ofwhatever object is selected in the noun_phrase for SETTING.

The constraint (n 3) in the first rule of this grammar instructs thesentence generation procedures to produce exactly three descriptivefeatures in any generated sentence.

Regarding imagistic expertise, there have been four techniquesidentified for triggering images in the minds of the reader,including 1) Exotic or bizarre material; 2) Visual perception andP-consciousness-related verbs; 3) Familiar reference; and 4) Voyeurism.

The inventive system includes a framework in the literary KB forclassifying linguistic elements to enable the automation of thesetechniques.

For example, to capture the bizarre, modifiers are linked with objectsin frames named bizzaro_modifiers. Consider the following instancedescribing the bizzaro modifier bleeding.

instance bleeding is a bizzaro_modifier

objects are (sun, plants, clothes, tombs, eyes}.

An action analogy LAG may be augmented with constraints to stimulatebizarre images in the mind of the reader. The following LAG for actionanalogies,

BizarreActioniaalogy→NP VP like ANP

NP→noun_phrase

ANP→modifier (isa bizzaro_modifier) noun (isa analog of NP)

in conjunction with bizzaro_modifiers can be used to generate thefollowing sentence.

Hart's eyes were like big bleeding suns.

The inventive system also triggers images with the technique of visualperception by constraining the principal verb in the appropriate LAG tobe a member of a class of verbs called vp_verbs. These include verbs forseeing, looking, glancing, and so on.

Similarly, the inventive system narrates stories from a particularcharacter's point of view using verbs selected from a special class ofverbs represented in the literary KB called pc_verbs. These includeverbs for feeling, thinking, understanding, wanting, etc. PC verbs givethe reader the sense that the subject of these verbs has a psychologicallife.

A variation of the parallel setting description sentence is a sentencethat describes a setting from a particular character's point of view.The following is the LAG for that sentence type, which includes aliterary constraint that forces the vise of a PC verb to convey thecharacter's consciousness:

POV→Agent (is a person) Verb (is a PC Verb) FirstFP

FirstFP→Setting FEATURE FP

FP→its FEATURE FP I “.”

FEATURE→noun_phrase (is a feature of SETTING)

SETTING→noun_phrase (is a setting)

Stories that appeal to a reader's familiar experiences are known toquickly engage their audience. Triggering images of familiar things inthe reader's mind keeps him or her interested and gives the authoropportunity to manipulate the reader's expectation, better enabling theeffect of plot twists and emotional turns. The inventive system cantrigger images with familiar reference by classifying settings, objectsand features as familiar to a class of readers and ensuring that theyare used in stage and language generation through the elaboration of thethematic relation and the application of literary constraints.

In the exemplary story of betrayal, the university setting is a familiarreference to a wide class of readers and is expected to quickly formfamiliar and comforting images in the minds of these readers. Theseimages are reinforced with the choice of particular modifiers andfeatures. Of course, in the above examples, the imminent betrayal isquickly suggested, shifting the focus from the positive reference of theuniversity to the universal image of classic betrayal.

Another literary “trick” known to trigger images and spark the reader'sinterest is voyeurism. Indeed, Franz Kafka, for example, often includedin stories scenarios in which one person sneaks a peak at the behaviorof others, or even places the reader in the position of outright voyeur.

For example, consider an elaboration of betrayal, voyeuristic betrayal.The inventive system may include a thematic relation for voyeuristicbetrayal that requires a few new stage elements, including a newcharacter, the voyeur, and a new action secretly watch. The relation maycompose a stage where the voyeur is envious of the betrayer and engagesin regular acts of secretly watching the betrayer's activities. Thestage will initialize the story with the potential for an additionalsubplot involving the voyeur secretly witnessing the betrayer reveal hisplans to betray the betrayed to some confidant. The Plot generation stepwill run the stage through a simulation, as described above, working outthe details regarding the voyeur's experience and decision to tell whathe witnessed to the betrayed. Regardless of how the plot develops,well-crafted sentences and word choices that describe scenes involvingthe secret witnessing of another's behavior will serve to stimulate theemotions and imaginations of human readers.

Returning now to the process level 100B of the invention (as shown inFIG. 2A and FIGS. 2B-2C for the generalized and specific embodiment ofthe invention), the process of thematic instantiation selects componentsfrom the domain knowledge-base sufficient to generate a story about aparticular theme. The process of thematic instantiation uses a FLEXrelation, based on a formal mathematization of a thematic concept likebetrayal, and the goal-directed reasoning mechanism underlying Prolog,to search the domain knowledge-base 100A1 and assemble the storyelements (characters, goals, events, settings, etc.) required toconstruct a story about the theme.

The following FLEX relation represents the components and theirinterrelationships sufficient to generate a story about the theme ofbetrayal.

-   -   relation betrayal_p (A_Betrayal)    -   if Evil is some goal whose plan is an EvilPlan    -   and whose agent is a Betrayor    -   and Saying is included in the EvilPlan    -   and Saying is some say    -   and Thwarting is included in the EvilPlan    -   and Thwarting is some thwart    -   and Betrayeds_Goal is the prevented_goal of Thwarting    -   and Betrayers_Lie is the theme of the Saying    -   and Betrayers_Lie is some support of the Betrayeds_Goal    -   and Betrayed is some person    -   whose goal is the Betrayeds_Goal    -   and whose beliefs include the Betrayors_Lie.

A rough intuitive translation of how this particular relation isinterpreted from a procedural perspective runs as follows.

First, look in the domain knowledge-base and find some goal with anassociated plan and agent, where the plan includes a saying action and athwarting action. This agent might be engaged in an act of betrayal; theagent might be the betrayer.

Then, look to find that the alleged betrayer's thwarting action isintended to thwart someone else's goal. The person who has this goalmight be vulnerable to a betrayal. That person might be the betrayed.

Finally, look to find that the alleged betrayer's statement is insupport of the betrayed's goal and that the alleged betrayed believesthe statement.

The search of the domain KB 100A1 described here is performedautomatically by the Prolog inference engine. If the search issuccessful, then the thematic instantiation process builds the stage.The stage, implemented by a FLEX frame, represents the key roles in astory about the designated theme.

In the inventive system, thematic instantiation 101 captures theessential characteristics of betrayal by building the following frame:

-   -   frame betrayal is a concept    -   default betrayer is a person and    -   default betrayed is a person and    -   default betrayers_goal is a goal and    -   default betrayeds_goal is a goal and    -   default betrayers_lie is a statement and    -   default betrayal_location is a place and    -   default betrayers_evil_action is a action.

While the domain elements of the story are selected as a result ofthematic concept instantiation, the story generation process has yet todevelop a specific plot. The domain concepts are static. They representa snapshot in time, one capturing different characters and events thatare the principal ingredients for a story. In plot generation, theingredients are cooked; the details of plot are produced based on thebehaviors of the characters.

In the inventive system, thematic instantiation 101 requires that thedomain knowledge-base include many of the specific objects required toinstantiate the theme.

Thereafter, the plot is developed through simulation. The process ofplot generation 103 enables the inventive system to produce a variety ofplots around a particular theme and a particular stage.

Through a forward reasoning process provided by FLEX, the inventivesystem can simulate character behavior. The principal knowledge used inplot generation is behavioral knowledge. As discussed earlier,characters have proactive behavior, represented by goals and plans, andreactive behavior represented by condition-action rules. These rulesrepresent how characters react to particular states. Once set in motion,they result in actions that affect new states, and more rules fire; thisprocess simulates a chain of reactive behavior. Eventually the processof forward-reasoning halts, indicating that a final state has beenachieved and the simulation is over.

Changes made to behavioral knowledge lead the inventive system toproduce different plots given the same theme and stage. In this way, theinventive system may be used to write different stories about the sametheme with the same cast of characters, events, and initial states.

Plot generation 103 is very much a computational device for dynamicallyextending the domain knowledge-base through time. Initially, the domainKB contains basic story elements that may interact in a variety of ways.The use of rules and simulation enables the process of plot generationto play out a scenario by simulating the behaviors of the selected setof characters and recording the results of the simulation in terms ofnew events, states, and dialogue (i.e., the results of speaking actions)in the domain KB. At the end of the simulation, the plot is developedand a particular outcome is realized. The new domain KB contains thecompleted plot or the scenario.

For example, suppose the process of thematic instantiation 101 hasproduced, from the domain KB, a stage 102 for the theme of betrayal,including the following elements (expressed informally for readability):

-   -   betrayer: Professor Hart    -   betrayed: Dave Striver    -   location: University of Rome    -   betrayed's goal: to get all members of thesis committee to        approve and sign    -   thesis    -   betrayer's promise: to approve betrayed's thesis.

Plot generation will extend the story elements though time by executingactions associated with character goals, and will process behavioralrules, the final result being a detailed scenario. Specific actions thatexecute in the development of this stage include:

-   -   sign    -   refuse-to-sign    -   say    -   answer    -   request_signatures    -   demand

Behavioral rules governing the typical behavior of committee members andthe committee chairperson would execute during plot generation. Forexample, at the end of the thesis defense, the following rule wouldtrigger the committee chairperson to request the members to sign thethesis.

-   -   rule committee_chairs_behavior 1    -   if Committee is a thesis defense committee    -   and chair is the chair of Committee    -   and Defense is the subject of the Committee    -   and the status of Defense includes completed    -   and unjudged    -   then do (request_signatures(Chair,Committee)).

The following rule would result in the typical committee member agreeingto sign the thesis when asked by the committee chair.

-   -   rule committee_members_behevior    -   IF    -   Candidate is some person and    -   Thesis is the thesis of Candidate and    -   the committee of the Candidate includes Member and    -   Request_To_Sign is some request and    -   Member is the requestee of Request_To_Sign and    -   the requester of Request_To_Sign is the chairman of the        committee and    -   Thesis is the document at subject of Request_To_Sign and    -   status of Request_To_Sign is pending    -   THEN    -   do answer(Member, Request_To_Sign) and    -   do sign(Member, Thesis)

The result of plot generation 103 produces a scenario 104 that would,for example, include the following series of actions and states(expressed informally for readability):

Prof. Hart tells Dave Striver “I will support your defense and sign yourthesis” at T0.

Dave Striver completed his thesis defense at time T1.

Prof. Rodgers requests approval signatures of members of Dave Striver'scommittee at

time T2.

All committee members except Prof. Hart sign Dave Striver's thesis attime T3.

Prof. Hart refuses to sign Dave Striver's thesis at time T4.

Prof. Hart says “Dave does not deserve to graduate.” at T5.

Prof. Rodgers insists that Prof. Hart signs at T6.

Prof. Hart refuses to sign at T7.

Dave Striver's thesis is rejected.

All the actions that take place in this series are encoded in the domainKB and are related through the stage to the roles that participate inthe theme of betrayal. This relationship allows the inventive system toinfer, among other things, that Professor Hart's refusal to signStriver's thesis is the specific act through which the betrayersuccessfully thwarted the goal of the betrayed (i.e., Striver's goal tograduate).

The inventive system must now compose the language to write the storybased on the scenario and its relationship to the theme. Thus, writingthe story includes proceeding to the outline and language generation.

As mentioned above, thematic instantiation and plot generation producesa stage and then a scenario respectively. The scenario will be inputinto the process of language generation. In this process, sentences areconstructed based on the characters, goals, events, etc. present in thescenario. The sentence-types chosen and the sequence in which theyappear depend on the story outline.

The process of story structure expansion builds a story outline 306, asdescribed above and as shown in FIG. 3A. Story grammars, discussedabove, are used to represent a variety of possible story structures. Theprocess pursues a path through a grammar hierarchy, making either randomor constrained choices as non-terminals in the grammars are expandeduntil a string of terminals, representing sentence types, is produced.The sequence of sentence types is the story outline 306 (e.g., see FIG.3A).

The inventive system captures the knowledge used by story structureexpansion and language generation in a three-level grammar hierarchy, asshown in FIG. 3C. This hierarchy is termed “the literary-to-linguisticgrammar hierarchy” because of its successive levels takes storyexpansion from a high-level story structure (literary knowledge) down toan-English-sentence grammar and word selection (e.g., linguisticknowledge).

The top level of the hierarchy is composed of story grammars. Storygrammars may be organized in a taxonomy, in which top-level storygrammars are very generic and may apply to a wide variety of storytypes. Lower levels in the story grammar taxonomy may contain storygrammars specialized for particular kinds of stories, like stories aboutbetrayal, for example.

The terminals, or leaves of story grammars, are names of paragraphtypes. These are associated with structures in the second level of thegrammar hierarchy called “paragraph grammars”. The terminals of thesegrammars are in turn sentence-types.

The final level in the grammar hierarchy is composed ofliterary-augmented sentence grammars (LAGs), which are formal languagegrammars that represent components of English syntax augmented withliterary constraints. The augmentation enables the generation ofgrammatically correct sentences that achieve particular literaryobjectives. The leaves of LAGs are variables instantiated to words thatrepresent domain concepts, as described above.

Starting with a story grammar, the structures in the grammar hierarchyare expanded until a sequence of sentence-types is generated. Thisentire process may be performed independently of the scenario producedby thematic instantiation and plot generation. However, augmenting thestory and paragraph grammars similarly to the way LAGs do for sentencesallows for shaping the story outline by constraining choice points inits expansion based on literary objectives. These objectives may bedetermined by different elements of the theme or plot. More generally,the inventive system architecture suggests that any parameter (e.g.,author styles or user preferences, etc.) may be used to constrainchoices in the expansion of a story outline. Alternatively, the notionsuggested by LAGs only to direct sentence generation.

Language generation takes the scenario and the story outline and usesliterary and linguistic knowledge to generate a story in English. Thelanguage generation process is directed to “choosing words”. The storyoutline is a map identifying the sequence of sentence types that will beused to tell the story. Each of these sentence types must beinstantiated (e.g., subjects, objects, verbs, adjectives, etc. must bechosen from a lexicon). These choices are directed by the story elementsrepresented in the scenario and the constraints imposed by literaryobjectives captured in the LAGs.

Consider the following fragment (simplified to enhance readability) fromthe inventive system's story grammar specialized for short stories aboutbetrayal:

1. Story→Setting+Goals_and_plans+Betrayers_evil_action+betrayed’ s_state2. Goals_and_plans→Betrayed's_goal+Betrayers_promise+Betrayers_goal3. Setting→setting_description(betrayal_locat ion,pov betrayed)4. Betrayed's_goal→personal_goal_sentence (betrayed)5. Betrayed's_goal→personal_goal_sentence (betrayer)6. Betrayers_promise→promise_description(betrayer_betrayed)7. Betrayers_evil_action→narrate_action(betrayers_evil_action)

This grammar specifies a structure that first exposes the reader to adescription of the setting where the betrayal occurs from the point ofview of the betrayed.

It then describes the betrayed's goal and the betrayer's promise toassist the betrayed in achieving that goal.

Finally, the story ends with a description of the betrayer's evil actionthat ultimately thwarts the goal of the betrayed, and a statement aboutthe betrayed's state. Non-terminals in this grammar begin with capitalletter. Terminals begin with lowercase letters and indicate the names ofparagraph grammars or LAGs. Arguments to grammars are roles contained inthe stage-produced thematic instantiation and are assigned domainentities from the stage completed in plot generation.

The third rule in this story grammar leads to a paragraph grammarcontaining two sentences for describing a location from some character'spoint of view. Following from our sample stage, the paragraph grammarcalled in this third rule would be

setting_description(university_of_rome,pov, ‘Dave Striver’).

The terminals in the following paragraph grammar lead to LAGs, with onefor the parallel description sentence described above directed to theinventive system's knowledge level.

1. Setting_description(Loc,pov,Person)÷pc_of(Person,Loc)+parallel_dscrp(Loc,pov,Person)

A brief sample story generated from the simple grammars just describedand the theme and stage produced earlier in our example follows.

Dave loves the University of Rome. He loves its studious youth,ivy-covered clocktowers and its sturdy brick. Dave wanted to graduate.Prof. Hart told Dave, “I will sign your thesis at your defense.” Prof.Hart actually intends to thwart Dave's plans to graduate. After Davecompleted his defense and the chairman of Dave's committee asked Prof.Hart to sign Dave's thesis, Prof. Hart refused to sign. Dave wascrushed.

The brief examples here taken from the inventive system's grammarhierarchy illustrate how story grammars can drive a variety of storystructures that lead to paragraphs and sentence structures, which are inturn tied directly to domain entities and literary objectives throughLAGs. Significant storytelling and literary variability can be achievedby altering, adding, or selecting different story, paragraph, or LAGs.Content variability can be achieved by creating or modifying thematicrelations, behavioral rules, and domain knowledge.

As described above, the betrayal (theme) relation and frame, and theprocess by which the inventive system generates stories, starting withan interesting theme, are described. Variations can be realized byadjusting the thematic relation to describe different outcomes.

For example, while the betrayal relation previously described allows forsuccess or failure of the betrayer's goal, a betrayal frame forgenerating specialized stories about betrayal where the betrayernecessarily succeeds can be built, as shown below. The thematicinstantiation process would ensure that the stories generated willinclude only events such that the betrayer will succeed in thwarting thebetrayed. The instantiation of this type of betrayal might entailassociated variations in plot, story structure, and language.

A similar approach can be taken to produce a variety of specializations.For example, cases where the betrayer's goal is considered altruistic bya general audience but taken as an offense by the betrayed. This is acase that may apply to a parent betraying a child's trust to ultimatelysave the child from a tragic end (or similarly Brutus' murder of JuliusCaesar could be viewed as an altruistic/patriotic act to save the RomanEmpire). Many variations may be achieved by adding or relaxingconstraints in the thematic relation.

-   -   relation successful(Betrayal)    -   if Betrayer is the betrayer of the Betrayal    -   and Betrayers_Evil_Goal is the goal of the Betrayer    -   and Condition1 is the success of Betrayor_Evil_Goal    -   and Condition1    -   and Betrayed is the betrayed or Betrayal    -   and G is the goal of the Betrayed    -   and Condition2 is the success of C    -   and not (Condition2)    -   and RName is the name of the Betrayed    -   and DName is the name of the Betrayor    -   and !.

Thus, as described above, the system of the present invention employs aplurality of processes in story generation. For example, the inventionuses thematic instantiation, which is the process by which a themeproduces a stage. A stage links a theme to a specific set of domainentities that are sufficient to realize the theme in some artifact insome language.

In the exemplary system developed for story generation, a theme isexpressed as a logical formula (e.g., in first order logic translatedinto the processing language of choice such as Prolog in the case athand). That is, “interestingness” is formalized. Variables in the aboveformula are instantiated with elements from the domain knowledge base.The result is a collection of key ingredients and their initial statescalled a “stage”.

Additionally, the invention uses the process of Stage Evolution 102A(e.g., see FIG. 2B for the generalized view of the invention forgenerating an artifact). The process of stage evolution is used toachieve width variability and creative distance from an initial input.Stage evolution takes the static entities and their behaviors composinga stage and extends the entities' interaction through time producing newentities and events. Stage evolution may be implemented using simulationand planning techniques. In story generation, stage evolution may bespecialized as plot development. The result of the process is a detailedplot or scenario.

Additionally, the invention uses structural expansion, which usescompositional knowledge and a sequence of compositional sentences. Thesesentences are independent of scenario and language. This enables theeasy use and reuse of different story structures in combination withdifferent themes, plots, literary devices or languages. They form astructural template that describes the surface structure of an artifact.

In story generation, for example, structural expansion produces adetailed story structure that describes which parts of a story will betold when. For example, the protagonist will be introduced, then thesetting will be described, then the antagonist's physical appearancewill be described, then . . . etc.

Additionally, the invention incorporates language generation, which isthe process that uses the lexical knowledge to produce grammaticallycorrect sentences in the language L.

Further, the invention employs impressionistic shaping 107 (e.g., seeFIGS. 2B and 2C), which is the process of generating expressions in L orC to satisfy some set of impressionistic objectives described inimpressionistic knowledge sources.

The present invention employs a man-machine interface such as aGraphical User Interface (GUI). The GUI can be a low-level which canmonitor and display, for example, the next result of the system andwhich prompts the user by telling the user what the system is going todo and please confirm (e.g., “I am going to select John Doe for thebetrayer. Does the user want to change this selection?”). Alternatively,the GUI could allow higher level control by asking: “Please select atheme”, “please select a character”, “please select a character'sproperty (ies)”, “please select how a level of psychologicalconsciousness of the following characters”, “please select a storygrabber”, etc.

The man-machine interface allows for control of the creative process.While changing the contents of the different knowledge sources willeffect different artifacts, the system 100 of the present inventionidentifies specific interface points that give the human user anopportunity to interactively control and guide the creative agent'sprocess and influence the resultant artifact. Thus, for example, suchinterface points may be in the process steps, in the databases, etc.such that the plot elements or stage elements etc. can be anchored. Bythe same token, if such elements are anchored or changed which divergefrom the requirements of the system or the theme, then a differentresult may occur different from what the system would have allowed.

Basically, any choice made by the system (e.g., choosing an event,choosing a plot, choosing a sentence, choosing a story grammar, choosinga word, choosing a character, choosing a character's property, etc.) maybe made by the user. The interface points are realized by variables(places where certain elements (examples enumerated above) are initiallyleft unspecified and whose range of possible values become more and morelimited as the story generation process progress and choices for thesevariables are made incrementally—either by the system's random processesor by user's choices).

Specifically, if the FLEX representation of the theme is taken as anexample, the capital letters are variables. As the system makes choicesbased on random processes or user input these variables are assignedvalues from the knowlege-base. Once an assignment is made, thevariable's value is fixed (for a single pass through the system) and thevalue will represent a fixed element of the story. Any time a variableis encountered the system can prompt the user to make a choices from alist of possible values derived from the appropirate database.

Thus, the invention maintains a creative distance between input andoutput. In contrast, in the conventional systems for example, a machineturning an English story into one in German is not creative. Likewise,if the machines was given a list of characters, settings, plot, etc.,which had to be used or merely changed the characters etc. for oneanother, then the machine would not be creative if such lists had to beused and there was a direct mapping from input to output. Instead,“creativeness” is provided by the invention since a disjoint, randomnessoccurs in selecting and containing various characters, etc. from variousdatabases, while keeping the theme anchored thereto.

Thus, to provide creativeness, the invention merely needs to be provideda theme (e.g., betrayal, romantic love, ambition, jealousy, hatred,defined therefor and then the system can provide the story including thecharacters etc. after the theme is input. The them is the core to thestory generation system, and the system makes random choices asappropriate and constraint-based choices.

Thus, if a betrayal theme is selected, then the fact that betrayal wasselected may in turn limit the system in terms of which specificcharacters (or plots, or settings, etc. having differentcharacteristics) in, for example, a character database could be selectedby a random generator to achieve variability and randomness. Thus, thesystem knows which characters are “good” for being a betrayer in abetrayal theme story.

Likewise, the system can select certain words, phrases, etc. based onthe theme, as literary devices to evoke certain emotions from thereader. Again, with a betrayer theme, a betrayer must be selected havingcertain characteristics selfish, jealous, ambitious etc. to narrow downthe choices of characters. However, if a character is randomly selected,then one may end up with a psychologically conscious” character (asopposed to one that is not) will constrain the words, phrases,adjectives, and adverbs used.

Hence, in the story of Julius Caesar's assassination, Brutus might bedescribed with words, phrase, adjectives, adverbs, etc. such that thereader believes Brutus was “psychologically conscious” of what he wasdoing in killing Caesar. For example, Brutus might be described as “Theinventive system thought . . . ” as opposed to “Brutus mindlessly knifedCaesar . . . ”. By the same token, the system also knows that othercharacters which are not to change or be constrained.

As shown in FIG. 4, a typical hardware configuration of an informationhandling/computer system 400 in accordance with the invention preferablyhas at least one processor or central processing unit (CPU) 411. TheCPUs 411 are interconnected via a system bus 412 to a random accessmemory (RAM) 414, read-only memory (ROM) 416, input/output (I/O) adapter418 (for connecting peripheral devices such as disk units 421 and tapedrives 440 to the bus 412), user interface adapter 422 (for connecting akeyboard 424, mouse 426, speaker 428, microphone 432, and/or other userinterface device to the bus 412), communication adapter 441 (forconnecting an information handling system to a data processing network),and display adapter 436 (for connecting the bus 412 to a display device438).

As shown in FIG. 5, in addition to the hardware and process environmentdescribed above, a different aspect of the invention includes acomputer-implemented method for performing a document componentimportation and reconciliation, as described above. As an example, thismethod may be implemented in the particular hardware environmentdiscussed above.

Such a method may be implemented, for example, by operating the CPU 411(FIG. 4), to execute a sequence of machine-readable instructions. Theseinstructions may reside in various types of signal-bearing media.

Thus, this aspect of the present invention is directed to a programmedproduct, comprising signal-bearing media tangibly embodying a program ofmachine-readable instructions executable by a digital data processorincorporating the CPU 411 and hardware above, to perform a documentcomponent importation and reconciliation.

This signal-bearing media may include, for example, a RAM (not shown)contained within the CPU 411, as represented by the fast-access storagefor example. Alternatively, the instructions may be contained in anothersignal-bearing media, such as a magnetic data storage diskette 500 (FIG.5), directly or indirectly accessible by the CPU 411.

Whether contained in the diskette 500, the computer/CPU 411, orelsewhere, the instructions may be stored on a variety ofmachine-readable data storage media, such as DASD storage (e.g., aconventional “hard drive” or a RAID array), magnetic tape, electronicread-only memory (e.g., ROM, EPROM, or EEPROM), an optical storagedevice (e.g. CD-ROM, WORM, DVD, digital optical tape, etc.), paper“punch” cards, or other suitable signal-bearing media includingtransmission media such as digital and analog and communication linksand wireless. In an illustrative embodiment of the invention, themachine-readable instructions may comprise software object code,compiled from a language such as “C”, etc.

While the invention has been described in terms of a preferredembodiment, those skilled in the art will recognize that the inventioncan be practiced with modification within the spirit and scope of theappended claims.

With the unique and unobvious features of the invention, the method andsystem of the present invention provide an architecture forcomputational creativity captures an explicit model of the creativeprocess in terms of computational processes and formally encodedknowledge. It demonstrates how a formally represented theme can be usedto seed and maintain interestingness as an artifact develops throughdifferent phases of the creative process.

It is noted that the present invention is not limited to storygeneration. For example, music generation would find great benefit fromthe present invention. Moreover, there are many other possibleapplications (including other artistic forms given the appropriateeffectors and “lexicon” sculpture, painting, cooking etc.). The systemand method of the present invention, specialized for story generation asdescribed in above, produces a unique and more robust architecture thanis present in the conventional system and methods. It is believed thatthis is also true for music as well as other languages of humanexpression.

The system architecture for computational creativity described above canrevolutionize how computers and computation are applied to humanendeavors. It is the foundation for engineering creative agents thatgenerate interesting stories, scripts, adventure games, musicalcompositions, recipes, paintings, sculptures etc.

While the application of the inventive system and method to each ofthese areas requires engineering knowledge bases of considerableexpertise, the present invention provides a demonstrable approach tobuilding effective computational engines. These engines, termed the“creative agent”, can pursue various humanistic themes, explore widevarieties of alternative scenarios and build expressions in humanisticlanguages while applying impressionistic knowledge to craft thatlanguage to best impact human audiences. Creative agents, as thefunctional core of many products in entertainment, education andbusiness analysis, may have great benefit as creative tools.

1. A computer-implemented method of automatically generating a story,comprising: selecting a theme of said story; examining elements of saidtheme and instantiating said theme; using said theme to select andcontrol other aspects of the story generation, including a plot of saidstory which employs knowledge-generated characteristics, relationships,and events.
 2. The computer-implemented method according to claim 1,further comprising inputting said elements of said theme into a stage,said stage being a collection of elements of said story and theirinterrelationships.
 3. The computer-implemented method according toclaim 1, further comprising inputting said elements into a simulationengine to play out a series of events over time, thereby to generate aplot, said plot including characters, their characteristics, and theirrespective interactions, and a history of events and their temporalrelationships, said simulation engine including a predeterminedrandomness such that random elements from said databases are selected.4. The computer-implemented method according to claim 1, furthercomprising inputting said elements into a simulation engine to play outa series of events over time.
 5. The computer-implemented methodaccording to claim 1, further comprising generating a plot.
 6. Thecomputer-implemented method according to claim 5, wherein said plotcomprises characters, their characteristics, and their respectiveinteractions, and a history of events and their temporal relationships.7. The computer-implemented method according to claim 5, wherein saidsimulation engine comprises a predetermined randomness such that randomelements from said databases are selected.
 8. The computer-implementedmethod according to claim 5, wherein said plot comprises at least one ofcharacters, their characteristics, and their respective interactions,and a history of events and their temporal relationships.
 9. The methodaccording to claim 1 further comprising: developing a scenario,including a plurality of activities, based on said plot generated, suchthat details of said activities are developed and bridged.
 10. Themethod according to claim 9, wherein said scenarios are in a formal,logic based language independent of a spoken language, said methodfurther comprising: inputting said scenarios into a natural languagegenerator such that said scenarios are converted from said logic-basedlanguage to a natural language, said natural language being a spokenlanguage understandable by a human reader, said conversion from saidlogic-based language to said natural language influencing at least oneof story grammars, literary constraints, words, phrases, and sentencestructure used in said scenario.
 11. A signal-bearing medium tangiblyembodying a program of machine-readable instructions executable by adigital processing apparatus to perform a method of story generation,said method comprising: selecting a theme of said story; examiningelements of said theme and instantiating said theme; using said theme toselect and control other aspects of the story generation, including aplot of said story which employs knowledge-generated characteristics,relationships, and events.
 12. A computer-implemented method ofautomatically generating a story, comprising: inputting elements of astory into a simulation engine to play out a series of events over time,thereby to generate a plot, said plot including at least one ofcharacters, their characteristics, and their respective interactions,and a history of events and their temporal relationships.